package com.ktgj.flight.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 机票预订_机票退改签废订单信息对象 flight_order_change
 * 
 * @author ruoyi
 * @date 2021-10-26
 */
public class FlightOrderChangeApi extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 机票退改签废订单ID */
    private String changeOrderId;

    /** 是否处理（0否，1是） */
    @Excel(name = "是否处理", readConverterExp = "0=否，1是")
    private String isdealing;

    /** 退款原因（1自愿，非自愿2） */
    @Excel(name = "退款原因", readConverterExp = "1=自愿，非自愿2")
    private String refundReason;

    /** 核销手续费 */
    @Excel(name = "核销手续费")
    private BigDecimal isverify;

    /** 机票订单基本信息ID */
    @Excel(name = "机票订单基本信息ID")
    private String orderId;

    /** 员工信息ID*/
    @Excel(name = "员工信息ID")
    private Long employeeId;

    /** 机票对账结算账单ID */
    @Excel(name = "机票对账结算账单ID")
    private Long partnerBillId;

    /** 邮寄费，应扣除客人金额 */
    @Excel(name = "邮寄费，应扣除客人金额")
    private BigDecimal refundPostchargeFee;

    /** 附加产品中的服务费/自营类别产品，应扣除客人金额 */
    @Excel(name = "附加产品中的服务费/自营类别产品，应扣除客人金额")
    private BigDecimal refundServicechargeFee;

    /** 扣除立减金额 */
    @Excel(name = "扣除立减金额")
    private BigDecimal refundPayMinus;

    /** 第三方退票订单号 */
    @Excel(name = "第三方退票订单号")
    private String apirefundorderid;

    /** 开户行 */
    @Excel(name = "开户行")
    private String openaccount;

    /** 操作命令 */
    @Excel(name = "操作命令")
    private String operationCode;

    /** 退票状态   0:初始 1：退票完成   2：取消 */
    @Excel(name = "退票状态   0:初始 1：退票完成   2：取消")
    private String changeStatus;

    /** 代理商对帐标识 */
    @Excel(name = "代理商对帐标识")
    private Long isIssueAgentbill;

    /** 合作商ID */
    @Excel(name = "合作商ID")
    private Long partnerId;

    /** 邮寄费，应退还客人金额 */
    @Excel(name = "邮寄费，应退还客人金额")
    private BigDecimal refundPostcharge;

    /** 应收客人升舱费手续费(用升舱费金额乘以原订单退改签费率百分比得到的升舱费手续费，属于应收取客人的金额) */
    @Excel(name = "应收客人升舱费手续费(用升舱费金额乘以原订单退改签费率百分比得到的升舱费手续费，属于应收取客人的金额)")
    private Long refundUpGradeFee;

    /** 非自愿退票所需材料(2|1,2,3) */
    @Excel(name = "非自愿退票所需材料(2|1,2,3)")
    private String refundContent;

    /** 应退旅通卡 */
    @Excel(name = "应退旅通卡")
    private Long refundCard;

    /** C单应收票款(现金) */
    @Excel(name = "C单应收票款(现金)")
    private BigDecimal creceivableAmount;

    /** 应退还用户现金（已支付），走退款流程调用支付逆向接口或者线下汇款给用户，钱最终退到用户的银行卡 */
    @Excel(name = "应退还用户现金", readConverterExp = "已=支付")
    private BigDecimal refundAmount;

    /** 用预留款支付的退票收费（未支付订单本次支付退票费） */
    @Excel(name = "用预留款支付的退票收费", readConverterExp = "未=支付订单本次支付退票费")
    private BigDecimal depositChangefee;

    /** 退/废票审核状态 1:未退废执行  2：退废执行（已提交给航司进行退票）,3.退款操作 */
    @Excel(name = "退/废票审核状态 1:未退废执行  2：退废执行", readConverterExp = "已=提交给航司进行退票")
    private String checkStatus;

    /** 结算单记录号 */
    @Excel(name = "结算单记录号")
    private Long billId;

    /** 自动退票状态[1:成功,0未成功] */
    @Excel(name = "自动退票状态[1:成功,0未成功]")
    private String refundstatus;

    /** 接口方是否退废完成，或者拒绝（1：继续查询 2：退废完成 3：拒绝退废） */
    @Excel(name = "接口方是否退废完成，或者拒绝", readConverterExp = "1=：继续查询,2=：退废完成,3=：拒绝退废")
    private String apirefundstatus;

    /** 改期订单下单时收取的操作费用（指每张票收取的20元固定服务费） */
    @Excel(name = "改期订单下单时收取的操作费用", readConverterExp = "指=每张票收取的20元固定服务费")
    private BigDecimal changeServiceFee;

    /** 退废手续费处理方式 */
    @Excel(name = "退废手续费处理方式")
    private String disposechangefeemode;

    /** 应收客人退票手续费 */
    @Excel(name = "应收客人退票手续费")
    private BigDecimal changeFee;

    /** 应退机票金额 */
    @Excel(name = "应退机票金额")
    private BigDecimal ticketFee;

    /** 升舱费 */
    @Excel(name = "升舱费")
    private BigDecimal upGradeFee;

    /** 是否发送短信（是1，否0） */
    @Excel(name = "是否发送短信", readConverterExp = "是=1，否0")
    private String issendmsg;

    /** C单使用的预留款金额 */
    @Excel(name = "C单使用的预留款金额")
    private BigDecimal depositTicketprice;

    /** 应返客人费用 */
    @Excel(name = "应返客人费用")
    private BigDecimal changeGuestFee;

    /** 退改签废类型 */
    @Excel(name = "退改签废类型")
    private String changeType;

    /** 人工调整的退票手续费 */
    @Excel(name = "人工调整的退票手续费")
    private BigDecimal changeOperatorMoney;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardnumber;

    /** 开户所在地 */
    @Excel(name = "开户所在地")
    private String openaddress;

    /** 附加产品中的保险/外购类别产品，应退还客人金额 */
    @Excel(name = "附加产品中的保险/外购类别产品，应退还客人金额")
    private BigDecimal iproductRefund;

    /** PAYMENT_STATUS */
    @Excel(name = "PAYMENT_STATUS")
    private String paymentStatus;

    /** 应退还用户的预留款（已支付），钱最终退到用户的预留款账户。应退还总金额为 REFUND_DEPOSIT 加 REFUND_AMOUNT */
    @Excel(name = "应退还用户的预留款", readConverterExp = "已=支付")
    private BigDecimal refundDeposit;

    /** B单类型 */
    @Excel(name = "B单类型")
    private String changeFeeType;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    /** 对帐标识 */
    @Excel(name = "对帐标识")
    private Long isIssueBill;

    /** 应返还合作商金额 */
    @Excel(name = "应返还合作商金额")
    private BigDecimal changePartnerAmount;

    /** 附加产品中的服务费/自营类别产品，应退还客人金额 */
    @Excel(name = "附加产品中的服务费/自营类别产品，应退还客人金额")
    private BigDecimal refundServicecharge;

    /** 发生退票时收取的操作费用（指每张票收取的20元固定服务费） */
    @Excel(name = "发生退票时收取的操作费用", readConverterExp = "指=每张票收取的20元固定服务费")
    private BigDecimal refundServiceFee;

    /** 退废申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退废申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /** 入预留款 */
    @Excel(name = "入预留款")
    private BigDecimal isintodeposit;

    /** 持卡人 */
    @Excel(name = "持卡人")
    private String cardholder;

    /** 附加产品中的保险/外购类别产品，应扣除客人金额 */
    @Excel(name = "附加产品中的保险/外购类别产品，应扣除客人金额")
    private BigDecimal iproductFee;

    /** 改期费 */
    @Excel(name = "改期费")
    private BigDecimal changedateFee;

    /** 退改签旧订单ID */
    @Excel(name = "退改签旧订单ID")
    private String oldChangeOrderId;

    /** 退票单号 */
    @Excel(name = "退票单号")
    private String refundNumber;

    /** 退款方式 */
    @Excel(name = "退款方式")
    private String refundMethod;

    /**
     * 票号
     */
    private List<String> ticketNo;

    public String getRefundMethod() {
        return refundMethod;
    }

    public void setRefundMethod(String refundMethod) {
        this.refundMethod = refundMethod;
    }

    public FlightOrderChangeApi() {
        this.ticketNo = new ArrayList<>();
    }

    public List<String> getTicketNo() {
        return ticketNo;
    }

    public void setTicketNo(List<String> ticketNo) {
        this.ticketNo = ticketNo;
    }

    public void setChangeOrderId(String changeOrderId)
    {
        this.changeOrderId = changeOrderId;
    }

    public String getChangeOrderId()
    {
        return changeOrderId;
    }
    public void setIsdealing(String isdealing) 
    {
        this.isdealing = isdealing;
    }

    public String getIsdealing() 
    {
        return isdealing;
    }
    public void setRefundReason(String refundReason) 
    {
        this.refundReason = refundReason;
    }

    public String getRefundReason() 
    {
        return refundReason;
    }
    public void setIsverify(BigDecimal isverify) 
    {
        this.isverify = isverify;
    }

    public BigDecimal getIsverify() 
    {
        return isverify;
    }
    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId()
    {
        return orderId;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setPartnerBillId(Long partnerBillId) 
    {
        this.partnerBillId = partnerBillId;
    }

    public Long getPartnerBillId() 
    {
        return partnerBillId;
    }
    public void setRefundPostchargeFee(BigDecimal refundPostchargeFee) 
    {
        this.refundPostchargeFee = refundPostchargeFee;
    }

    public BigDecimal getRefundPostchargeFee() 
    {
        return refundPostchargeFee;
    }
    public void setRefundServicechargeFee(BigDecimal refundServicechargeFee) 
    {
        this.refundServicechargeFee = refundServicechargeFee;
    }

    public BigDecimal getRefundServicechargeFee() 
    {
        return refundServicechargeFee;
    }
    public void setRefundPayMinus(BigDecimal refundPayMinus) 
    {
        this.refundPayMinus = refundPayMinus;
    }

    public BigDecimal getRefundPayMinus() 
    {
        return refundPayMinus;
    }
    public void setApirefundorderid(String apirefundorderid) 
    {
        this.apirefundorderid = apirefundorderid;
    }

    public String getApirefundorderid() 
    {
        return apirefundorderid;
    }
    public void setOpenaccount(String openaccount) 
    {
        this.openaccount = openaccount;
    }

    public String getOpenaccount() 
    {
        return openaccount;
    }
    public void setOperationCode(String operationCode) 
    {
        this.operationCode = operationCode;
    }

    public String getOperationCode() 
    {
        return operationCode;
    }
    public void setChangeStatus(String changeStatus) 
    {
        this.changeStatus = changeStatus;
    }

    public String getChangeStatus() 
    {
        return changeStatus;
    }
    public void setIsIssueAgentbill(Long isIssueAgentbill) 
    {
        this.isIssueAgentbill = isIssueAgentbill;
    }

    public Long getIsIssueAgentbill() 
    {
        return isIssueAgentbill;
    }
    public void setPartnerId(Long partnerId) 
    {
        this.partnerId = partnerId;
    }

    public Long getPartnerId() 
    {
        return partnerId;
    }
    public void setRefundPostcharge(BigDecimal refundPostcharge) 
    {
        this.refundPostcharge = refundPostcharge;
    }

    public BigDecimal getRefundPostcharge() 
    {
        return refundPostcharge;
    }
    public void setRefundUpGradeFee(Long refundUpGradeFee) 
    {
        this.refundUpGradeFee = refundUpGradeFee;
    }

    public Long getRefundUpGradeFee() 
    {
        return refundUpGradeFee;
    }
    public void setRefundContent(String refundContent) 
    {
        this.refundContent = refundContent;
    }

    public String getRefundContent() 
    {
        return refundContent;
    }
    public void setRefundCard(Long refundCard) 
    {
        this.refundCard = refundCard;
    }

    public Long getRefundCard() 
    {
        return refundCard;
    }
    public void setCreceivableAmount(BigDecimal creceivableAmount) 
    {
        this.creceivableAmount = creceivableAmount;
    }

    public BigDecimal getCreceivableAmount() 
    {
        return creceivableAmount;
    }
    public void setRefundAmount(BigDecimal refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public BigDecimal getRefundAmount() 
    {
        return refundAmount;
    }
    public void setDepositChangefee(BigDecimal depositChangefee) 
    {
        this.depositChangefee = depositChangefee;
    }

    public BigDecimal getDepositChangefee() 
    {
        return depositChangefee;
    }
    public void setCheckStatus(String checkStatus) 
    {
        this.checkStatus = checkStatus;
    }

    public String getCheckStatus() 
    {
        return checkStatus;
    }
    public void setBillId(Long billId) 
    {
        this.billId = billId;
    }

    public Long getBillId() 
    {
        return billId;
    }
    public void setRefundstatus(String refundstatus) 
    {
        this.refundstatus = refundstatus;
    }

    public String getRefundstatus() 
    {
        return refundstatus;
    }
    public void setApirefundstatus(String apirefundstatus) 
    {
        this.apirefundstatus = apirefundstatus;
    }

    public String getApirefundstatus() 
    {
        return apirefundstatus;
    }
    public void setChangeServiceFee(BigDecimal changeServiceFee) 
    {
        this.changeServiceFee = changeServiceFee;
    }

    public BigDecimal getChangeServiceFee() 
    {
        return changeServiceFee;
    }
    public void setDisposechangefeemode(String disposechangefeemode) 
    {
        this.disposechangefeemode = disposechangefeemode;
    }

    public String getDisposechangefeemode() 
    {
        return disposechangefeemode;
    }
    public void setChangeFee(BigDecimal changeFee) 
    {
        this.changeFee = changeFee;
    }

    public BigDecimal getChangeFee() 
    {
        return changeFee;
    }
    public void setTicketFee(BigDecimal ticketFee) 
    {
        this.ticketFee = ticketFee;
    }

    public BigDecimal getTicketFee() 
    {
        return ticketFee;
    }
    public void setUpGradeFee(BigDecimal upGradeFee) 
    {
        this.upGradeFee = upGradeFee;
    }

    public BigDecimal getUpGradeFee() 
    {
        return upGradeFee;
    }
    public void setIssendmsg(String issendmsg) 
    {
        this.issendmsg = issendmsg;
    }

    public String getIssendmsg() 
    {
        return issendmsg;
    }
    public void setDepositTicketprice(BigDecimal depositTicketprice) 
    {
        this.depositTicketprice = depositTicketprice;
    }

    public BigDecimal getDepositTicketprice() 
    {
        return depositTicketprice;
    }
    public void setChangeGuestFee(BigDecimal changeGuestFee) 
    {
        this.changeGuestFee = changeGuestFee;
    }

    public BigDecimal getChangeGuestFee() 
    {
        return changeGuestFee;
    }
    public void setChangeType(String changeType) 
    {
        this.changeType = changeType;
    }

    public String getChangeType() 
    {
        return changeType;
    }
    public void setChangeOperatorMoney(BigDecimal changeOperatorMoney) 
    {
        this.changeOperatorMoney = changeOperatorMoney;
    }

    public BigDecimal getChangeOperatorMoney() 
    {
        return changeOperatorMoney;
    }
    public void setCardnumber(String cardnumber) 
    {
        this.cardnumber = cardnumber;
    }

    public String getCardnumber() 
    {
        return cardnumber;
    }
    public void setOpenaddress(String openaddress) 
    {
        this.openaddress = openaddress;
    }

    public String getOpenaddress() 
    {
        return openaddress;
    }
    public void setIproductRefund(BigDecimal iproductRefund) 
    {
        this.iproductRefund = iproductRefund;
    }

    public BigDecimal getIproductRefund() 
    {
        return iproductRefund;
    }
    public void setPaymentStatus(String paymentStatus) 
    {
        this.paymentStatus = paymentStatus;
    }

    public String getPaymentStatus() 
    {
        return paymentStatus;
    }
    public void setRefundDeposit(BigDecimal refundDeposit) 
    {
        this.refundDeposit = refundDeposit;
    }

    public BigDecimal getRefundDeposit() 
    {
        return refundDeposit;
    }
    public void setChangeFeeType(String changeFeeType) 
    {
        this.changeFeeType = changeFeeType;
    }

    public String getChangeFeeType() 
    {
        return changeFeeType;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }
    public void setIsIssueBill(Long isIssueBill) 
    {
        this.isIssueBill = isIssueBill;
    }

    public Long getIsIssueBill() 
    {
        return isIssueBill;
    }
    public void setChangePartnerAmount(BigDecimal changePartnerAmount) 
    {
        this.changePartnerAmount = changePartnerAmount;
    }

    public BigDecimal getChangePartnerAmount() 
    {
        return changePartnerAmount;
    }
    public void setRefundServicecharge(BigDecimal refundServicecharge) 
    {
        this.refundServicecharge = refundServicecharge;
    }

    public BigDecimal getRefundServicecharge() 
    {
        return refundServicecharge;
    }
    public void setRefundServiceFee(BigDecimal refundServiceFee) 
    {
        this.refundServiceFee = refundServiceFee;
    }

    public BigDecimal getRefundServiceFee() 
    {
        return refundServiceFee;
    }
    public void setAddTime(Date addTime) 
    {
        this.addTime = addTime;
    }

    public Date getAddTime() 
    {
        return addTime;
    }
    public void setIsintodeposit(BigDecimal isintodeposit) 
    {
        this.isintodeposit = isintodeposit;
    }

    public BigDecimal getIsintodeposit() 
    {
        return isintodeposit;
    }
    public void setCardholder(String cardholder) 
    {
        this.cardholder = cardholder;
    }

    public String getCardholder() 
    {
        return cardholder;
    }
    public void setIproductFee(BigDecimal iproductFee) 
    {
        this.iproductFee = iproductFee;
    }

    public BigDecimal getIproductFee() 
    {
        return iproductFee;
    }
    public void setChangedateFee(BigDecimal changedateFee) 
    {
        this.changedateFee = changedateFee;
    }

    public BigDecimal getChangedateFee() 
    {
        return changedateFee;
    }

    public String getOldChangeOrderId() {
        return oldChangeOrderId;
    }

    public void setOldChangeOrderId(String oldChangeOrderId) {
        this.oldChangeOrderId = oldChangeOrderId;
    }

    public String getRefundNumber() {
        return refundNumber;
    }

    public void setRefundNumber(String refundNumber) {
        this.refundNumber = refundNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("changeOrderId", getChangeOrderId())
            .append("isdealing", getIsdealing())
            .append("refundReason", getRefundReason())
            .append("isverify", getIsverify())
            .append("orderId", getOrderId())
            .append("employeeId", getEmployeeId())
            .append("partnerBillId", getPartnerBillId())
            .append("refundPostchargeFee", getRefundPostchargeFee())
            .append("refundServicechargeFee", getRefundServicechargeFee())
            .append("refundPayMinus", getRefundPayMinus())
            .append("apirefundorderid", getApirefundorderid())
            .append("openaccount", getOpenaccount())
            .append("operationCode", getOperationCode())
            .append("changeStatus", getChangeStatus())
            .append("isIssueAgentbill", getIsIssueAgentbill())
            .append("partnerId", getPartnerId())
            .append("refundPostcharge", getRefundPostcharge())
            .append("refundUpGradeFee", getRefundUpGradeFee())
            .append("refundContent", getRefundContent())
            .append("refundCard", getRefundCard())
            .append("creceivableAmount", getCreceivableAmount())
            .append("refundAmount", getRefundAmount())
            .append("depositChangefee", getDepositChangefee())
            .append("checkStatus", getCheckStatus())
            .append("billId", getBillId())
            .append("refundstatus", getRefundstatus())
            .append("apirefundstatus", getApirefundstatus())
            .append("changeServiceFee", getChangeServiceFee())
            .append("disposechangefeemode", getDisposechangefeemode())
            .append("changeFee", getChangeFee())
            .append("ticketFee", getTicketFee())
            .append("upGradeFee", getUpGradeFee())
            .append("issendmsg", getIssendmsg())
            .append("createTime", getCreateTime())
            .append("depositTicketprice", getDepositTicketprice())
            .append("changeGuestFee", getChangeGuestFee())
            .append("changeType", getChangeType())
            .append("changeOperatorMoney", getChangeOperatorMoney())
            .append("cardnumber", getCardnumber())
            .append("openaddress", getOpenaddress())
            .append("iproductRefund", getIproductRefund())
            .append("paymentStatus", getPaymentStatus())
            .append("refundDeposit", getRefundDeposit())
            .append("changeFeeType", getChangeFeeType())
            .append("operationTime", getOperationTime())
            .append("isIssueBill", getIsIssueBill())
            .append("changePartnerAmount", getChangePartnerAmount())
            .append("refundServicecharge", getRefundServicecharge())
            .append("refundServiceFee", getRefundServiceFee())
            .append("addTime", getAddTime())
            .append("isintodeposit", getIsintodeposit())
            .append("cardholder", getCardholder())
            .append("iproductFee", getIproductFee())
            .append("changedateFee", getChangedateFee())
            .append("oldChangeOrderId", getOldChangeOrderId())
            .append("refundNumber", getRefundNumber())
            .toString();
    }
}
